package com.bigShen.pattern.rules.aOpenClosePrinciple;

/**
 * @Author eddy.shen
 * @Date 2020/2/25 21:28
 **/
public class OpenCloseTest {

    public static void main(String[] args) {

        ICourse javaCourse = new JavaCourse(1, "Java进阶课", 11880.0);

        System.out.println(String.format("课程：%s \n 价格: %s",
                javaCourse.getName(), javaCourse.getPrice()));

        /**
         * 课程打折，可以改 JavaCourse 的 getPrice()方法，直接 *0.8
         * 不过不符合 开闭原则，新建一个打折子类
         */

        ICourse javaDiscountCourse = new JavaDiscountCourse(2, "Java进阶课预售", 11880.0);
        JavaDiscountCourse discount = (JavaDiscountCourse) javaDiscountCourse;
        System.out.println(String.format("课程：%s \n 原价: %s  \n 优惠价: %s",
                discount.getName(), discount.getPrice(), discount.getDiscountPrice()));


    }

}
